As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option for processing and stored information is an information handling system. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, educational, governmental, or other purposes thereby allowing users to take advantage of the value of the information.
Because technology and information handling needs and requirements vary between different users and/or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
One type of information handling system is commonly referred to as a server or server system. As suggested by its name, a server system might be described as an information handling system that provides a service to one or more other information handling systems. Server systems include, as examples, application servers dedicated to running specified software applications, database servers that provide database services, file servers that provide file services, web servers that communicate with HTTP (Hypertext transfer protocol) clients to receive and respond to HTTP requests, and numerous other types of servers.
An increasingly important aspect or feature of a server system is its system management resources including remote management resources. Although system management concepts are not exclusively applicable to server systems, they are particularly prevalent in such systems. System management may be differentiated by whether the management is local or remote.
For purposes of this disclosure, local management generally refers to management commands, messages, and the like that are generated by a central processing unit of a server and sent to a management controller.
Remote management, as suggested by its name, refers generally to a management paradigm in which management commands, messages, and the like are generated and transmitted by a remote information handling system, i.e., an information handling system having processing and storage resource that are distinct from the processing and storage resources of the managed system. The remote management system and the managed system are also generally located in different locations.
Conventional implementations of local system management typically implement dedicated interfaces that may include drivers, hardware, and firmware. Small Computer System Interface (SCSI) is a set of standards for physically connecting and transferring data between computers and peripheral devices.
In contrast, remote management typically employs a conventional Ethernet-based IP interface, which is typically provided by a network controller (e.g., a conventional network interface card or NIC). In such remote management implementations, the NIC provides a direct path between the external network to which the remote resource is connected and the management controller embedded in the managed system, i.e., a path from the remote resource to the management controller that does not include the system bus of the managed system. Internet Small Computer System Interface (ISCSI) is a protocol that permits, for example, a user to remotely access SCSI devices. iSCSI may be used to facilitate data transfers over an intranet and/or to manage storage over IP networks. iSCSI-based storage area networks (SAN) have become a growing alternative to fibre-channel based SANs.
Typical iSCSI protocol uses a client-server architecture. The client may include an iSCSI initiator operable to initiate requests and the server may include an iSCSI target operable to respond to the requests. In most examples, iSCSI protocol requires an iSCSI initiator running in the local memory of the client. The iSCSI initiator may be stored on a local storage device or loaded to the local memory using an iSCSI boot process. The iSCSI initiator may connect to the iSCSI target and present itself as a bootable device to a boot monitor running on the client system. If a user boots to the ISCSI target through the iSCSI initiator, a boot monitor associated with the client (or host) will transfer an operating system (OS) loader from the iSCSI target into the local client system memory. Once the OS loader is received from the iSCSI target, the boot monitor will turn over control to the OS loader running in the local client system memory. Finally, the OS loader will access the remaining portion of the OS from the iSCSI target.
In some known systems, the iSCSI initiator may be loaded onto a client system using an iSCSI boot feature provided by a LAN on motherboard (LOM) device. Use of a LOM to support iSCSI boot may require additional firmware called iSCSI firmware which may include an iSCSI initiator protocol stack. Providing iSCSI firmware to a system may increase required flash memory. In some cases, iSCSI firmware may require customizing to specific types of LOM and/or server configurations. Such customization may include firmware development and/or extensive testing. In some cases, previously deployed systems may not support installation of later developed firmware.